home *** CD-ROM | disk | FTP | other *** search
/ MacWorld 1999 January - Disc 2 / Macworld (1999-01) (Disk 2).dmg / Serious Demos / Symbolic Composer 4.2 / Environment / System / MRAC / s-expansion-series
Lisp/Scheme  |  1998-10-27  |  3KB  |  99 lines

  1. s-expansion-series  seed count max-interval steps change symbols
  2.  
  3. With a range of -6 6
  4.  
  5. (s-expansion-series nil 12 6 '(1 -1 2 -2) '(1 2 3) '(a -g -i -l))
  6. (s-expansion-series .56 12 6 '(1 -1 2 -2) '(1 2 3) '(a -g -i -l))
  7.  
  8. Wiht out a range of interval
  9.  
  10. (s-expansion-series nil 12 nil '(1 -1 2 -2) '(1 2 3) '(a -g -i -l))
  11. (s-expansion-series .56 12 nil '(1 -1 2 -2 3) '(1 2 3) '(a -g -i -l))
  12. (s-expansion-series .56 200 13 '(1 -1 2 -2 3) '(1 2 3) '(a -g -i -l))
  13.  
  14.  
  15. ;;; -----------------------------------------------------------------------------
  16. ;;;
  17. ;;; Copyright © 1997 MRAC
  18. ;;; Author: Janusz Podrazik
  19. ;;; Created: 1997/09/17
  20. ;;; Example: s-expansion
  21. ;;;
  22. ;;; -----------------------------------------------------------------------------
  23.  
  24. (setq seed (g-seed .24763 24))
  25. (setq sym-par1
  26.       (flatten
  27.        (s-expansion-series (1~ seed) 200 9
  28.                         '(1 -1 2 -2) '(1 2 3) '(a g j d))))
  29.  
  30. (setq sym-par2
  31.       (flatten
  32.        (s-expansion-series (2~ seed) 200 9
  33.                         '(-1 1 -2 2) '(1 2 3) '(a2 c3 d#3 f#3))))
  34.  
  35. (setq length (gen-repeat (length sym-par1) '(1/32)))
  36.  
  37. (setq velocity1
  38.       (cfunction
  39.       (vector-resynthesize
  40.         4
  41.         (gen-noise-white
  42.          (length sym-par1) 1 (1~ seed)) nil t)
  43.        (g-integer 40 60)))
  44.  
  45. (setq velocity2
  46.       (cfunction
  47.        (vector-resynthesize
  48.         4
  49.         (gen-noise-white
  50.          (length sym-par2) 1 (2~ seed)) nil t)
  51.        (g-integer 40 60)))
  52.  
  53. (def-symbol
  54.   p1 sym-par1
  55.   p2 sym-par2
  56.   p3 sym-par1
  57.   p4 sym-par2)
  58.  
  59. (def-length
  60.   p1 '1/32
  61.   p2 '1/32
  62.   p3 '(1/16 1/16 1/32 1/32 1/16) p4 '1/16)
  63.  
  64. (def-velocity
  65.   p1 velocity1
  66.   p2 velocity2
  67.   p3 velocity1
  68.   p4 velocity2)
  69.  
  70. (def-channel
  71.   p1 k2000i-1
  72.   p2 k2000ii-1
  73.   p3 k2000ii-1
  74.   p4 k2000ii-1)
  75.  
  76. (def-program k2000p
  77.   p1 stereo-grand
  78.   p2 stereo-grand
  79.   p3 stereo-grand
  80.   p4 stereo-grand)
  81.  
  82. (setq tonality
  83.       (activate-tonality (diminished2 c 5)
  84.                          (augmented2 e 5)
  85.                          (ionian d 5)
  86.                          (augmented2 e 5)
  87.                          (mixolydian f 5)))
  88. (def-tempo 64)
  89.  
  90. (compile-song-p
  91.  "ccl;output:" 1/4 "s-expansion.midi"
  92.  ;               bars  1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16
  93.  ;                     !---!---!---!---!---!---!---!---!---!---!---!---!---!---!---!---!
  94.  scale  tonality       "    .   .      . .     .   .      .  . .     .     .   .        "
  95.  p1 scale              "----------------------------------------------------------------"
  96.  p2 scale              "--                  ----     ---            ------         -----"
  97.  p3 scale              "  ------     -------            ---     ----             --     "
  98.  p4 scale              "        -----           -----      -----          -------       "
  99.  )